This invention relates to a system and method for guaranteeing consistent and efficient access to a database management system. More particularly, it relates to a fine granularity optimistic concurrency control method and a query optimization technique for parallel B-trees.
Finer granularity increases concurrency by reducing contention among transactions. There is a significant body of prior art relating to fine granularity concurrency control. U.S. Pat. No. 5,247,672 "Transaction processing system and method with reduced locking" describes a transaction processing system that reduces the number of page locks and permits to use finer granularity for transactions that read large quantities of data. U.S. Pat. No. 5,485,607 "Concurrency-control and apparatus in a database management system utilizing key-valued locking" describes a new pessimistic concurrency control scheme that improves concurrency by utilizing an expanded set of lock modes that permit locks on the key values.
In prior art, fine granularity required a large amount of computational resources to perform the conflict detection, and, therefore, optimistic concurrency control algorithms available today sacrifice granularity to improve the overall server performance. U.S. Pat. No. 5,263,156 "Parallel, distributed optimistic concurrency control certification using hardware filtering" describes a system which offers a hardware solution to cope with high computational overhead of conflict detection in an optimistic concurrency control protocol.